<?php

class addMessage
{
    public function index()
    {
        $method = $_SERVER['REQUEST_METHOD']; //获取请求方式
        if ($method != "POST") { //判断不是post请求便走里面的代码
            return json_encode([ //返回json报错数据
                "code"    => 0, //前后端自定义的规则，后端给code前端认为是状态码，收到code=1前端认为正常，0则为报错
                "data"    => [],//返回数据信息
                "message" => '请使用post请求' //提示内容
            ], true);
        }

        if (!isset($_SERVER['HTTP_TOKEN'])) {
            return json_encode([ //返回json报错数据
                "code"    => 0, //前后端自定义的规则，后端给code前端认为是状态码，收到code=1前端认为正常，0则为报错
                "data"    => [],//返回数据信息
                "message" => '请登录' //提示内容
            ], true);
        }
        $token = $_SERVER['HTTP_TOKEN'];

        $redis = new Redis(); //实例化redis
        $redis->connect("127.0.0.1"); //连接redis
        $user_info = $redis->get($token); //获取redis信息(用户数据)
        //令牌拿不到用户信息的话说明登陆失效或者token无效
        if (empty($user_info)) {
            return json_encode([ //返回json报错数据
                "code"    => 0, //前后端自定义的规则，后端给code前端认为是状态码，收到code=1前端认为正常，0则为报错
                "data"    => [],//返回数据信息
                "message" => '登陆失效，请重新登陆' //提示内容
            ], true);
        }
        $user_info = json_decode($user_info, true); //转化为数组

        //验证参数
        $canshu = file_get_contents('php://input');
        if (empty($canshu)) { //empty判断是否为空 ||是或的意思
            return json_encode([ //返回json报错数据
                "code"    => 0, //前后端自定义的规则，后端给code前端认为是状态码，收到code=1前端认为正常，0则为报错
                "data"    => [],//返回数据信息
                "message" => '请填写留言内容' //提示内容
            ], true);
        }
        $canshu = json_decode($canshu,true);
        $content = $canshu['content'];

        //插入留言数据
        $mysql = new PDO('mysql:host=192.168.1.68;dbname=test', 'root', '123456');//链接数据库
        $sql   = "INSERT INTO `message`(`user_id`,`content`,`create_time`) VALUES(" . $user_info['id'] . ",'" . $content . "'," . time() . ");"; //插入语句语句
        $count = $mysql->exec($sql); //执行查询
        if ($count) {
            return json_encode([ //返回json报错数据
                "code"    => 1, //前后端自定义的规则，后端给code前端认为是状态码，收到code=1前端认为正常，0则为报错
                "data"    => [],//返回数据信息
                "message" => '添加成功' //提示内容
            ], true);
        } else {
            return json_encode([ //返回json报错数据
                "code"    => 0, //前后端自定义的规则，后端给code前端认为是状态码，收到code=1前端认为正常，0则为报错
                "data"    => [],//返回数据信息
                "message" => '添加失败' //提示内容
            ], true);
        }
    }
}

$addMessage = new addMessage();
echo $addMessage->index();